package com.example.OnlineStorage.pojo.entity;

import lombok.Getter;
import lombok.NoArgsConstructor;

/**
 * 分页信息辅助类，用于内部处理分页逻辑。
 */
@Getter
@NoArgsConstructor
public class Pagination {
	
	/**
	 * 偏移量，用于计算当前页第一条记录的位置。
	 */
	private Integer offset;
	
	/**
	 * 每页显示的记录数量。
	 */
	private Integer limit;

	public Pagination(Integer page) {
		if(page == null||page<1){
			page=1;
		}
		this.limit = 10;
		this.offset = (page - 1) * limit;
	}
	/**
	 * 自定义分页参数，允许设置每页记录数量。
	 *
	 * @param page  当前页码
	 * @param limit 每页记录数量，最大值为20
	 */
	public Pagination(Integer page, Integer limit) {
		if(page == null||page<1){
			page=1;
		}
		this.limit = limit <= 20 ? limit : 20;
		this.offset = (page - 1) * limit;
	}
}